Comprehensive, Concurrent, and Robust Garbage Collection in the Distributed, Object-Based System Emerald
نویسنده
چکیده
Garbage collection schemes are investigated to provide a solution well-suited for the distributed object-based system, Emerald. A distributed garbage collection scheme is implemented. It collects all garbage (comprehensive), works while the system is running user applications (concurrent), and copes with partial failures due to the distributed nature of the system (robustness). The collection scheme reaches its goals by using distributed control, a dual-collector scheme, and an object protection mechanism. Emerald is a distributed, object-based system running on a set of workstations connected by a local-area network. The Emerald garbage collection scheme employs two mark-and-sweep collectors on each node in the distributed system. To reduce the latency introduced, both collectors work concurrently with other processes by protecting unmarked objects during the mark-phase, and interleaving the sweep-phase with the allocator. A comprehensive collection of all garbage in the entire distributed system is achieved by the cooperation of one collector from each node. These global collectors exchange information about reachable objects during their mark-phase and synchronize their initialization and termination of the mark-phase, without using a coordinating node. The scheme is robust to temporary node failures and depends only on nodes being pair-wise able to exchange messages. As the comprehensive collection depends on information about the entire distributed graph of objects and references between them, any node failure may postpone the termination of the mark-phase. To achieve more expedient collection the other set of collectors does node-local collection on each node using a root set extended with the objects potentially known from other nodes. The scheme has been tested in the Emerald system running on four VAXstation 2000 workstations in a local-area network. Measurements show a garbage collection overhead during normal operation on less than 10%. The average pause introduced by garbage collection may be limit to 0:01 seconds.
منابع مشابه
Comprehensive and Robust Garbage Collection in a Distributed System
The overall goal of the Emerald garbage collection scheme is to provide an e cient \on-they" garbage collection in a distributed object-based system that collects all garbage, and that is robust to partial failures. The rst goal is to collect all garbage in the entire distributed system; we say that the collection is comprehensive in contrast to conservative collectors that only collect most ga...
متن کاملA Non-blocking Snapshot Algorithm for Distributed Garbage Collection of Mobile Active Objects
Distributed actor garbage collection differs from distributed object garbage collection in that it needs to consider in-transit message detection, unordered message reception, and actor migration. In this paper, we propose a new snapshot-based distributed actor garbage collection algorithm. The algorithm does not require First-In-First-Out or blocking communication, nor message logging. Further...
متن کاملA Distributed Garbage Collection Algorithm
Concurrent Scheme extends the Scheme programming language, providing parallel program execution on a distributed network. The Concurrent Scheme environment requires a garbage collector to reclaim global objects; objects that exist in a portion of the global heap located on the node that created them. Because a global object may be referenced by several nodes, traditional garbage collection algo...
متن کاملActor Garbage Collection Using Vertex-Preserving Actor-to-Object Graph Transformations
Large-scale distributed computing applications require concurrent programming models that support modular and compositional software development. The actor model supports the development of independent software components with its asynchronous message-passing communication and state encapsulation properties. Automatic actor garbage collection is necessary for high-level actor-oriented programmi...
متن کاملCyclic distributed garbage collection
With the continued growth of distributed systems as a means to provide shared data, designers are turning their attention to garbage collection, prompted by the complexity of memory management and the desire for transparent object management. Garbage collection in very large address spaces is a di cult and unsolved problem, due to problems of e ciency, fault-tolerance, scalability and completen...
متن کامل